package util;

import java.io.File;

import javax.swing.filechooser.FileFilter;

/**
 * @author Rishi Das Roy
 *
 * @Organization Institute Of Genomics & Integrative Biology
 */
public class CsvFilter extends FileFilter {

	//Accept all directories and all erg files.

	private static CsvFilter mCsvFilter = new CsvFilter("csv");

	private String mExtension;

	private CsvFilter() {

	}

	private CsvFilter(String pExtension) {
		mExtension = pExtension;
	}

	public boolean accept(File f) {
		if (f.isDirectory()) {
			return true;
		}

		String extension = getExtension(f);
		if (extension != null) {
			if (extension.equals(mExtension)) {
				return true;
			} else {
				return false;
			}
		}

		return false;
	}

	//The description of this filter
	public String getDescription() {
		return "*." + mExtension;
	}

	public static FileFilter getCsvFilter() {
		// TODO Auto-generated method stub
		return mCsvFilter;
	}

	public static String getExtension(File f) {
		String ext = null;
		String s = f.getName();
		int i = s.lastIndexOf('.');

		if (i > 0 && i < s.length() - 1) {
			ext = s.substring(i + 1).toLowerCase();
		}
		return ext;
	}

}
